320 INPUT "";A$: IF LEN(A$) >L1 THEN A$ = LEFT$(A$,L1):I$(L +1) = I$(L +1) +A$: GOSUB 360: RETURN
330 IF A$ = "//STOP" THEN P = 0: GOTO 30
340 P = P +1
350 I$(L +1,P) = A$
360 IF L1 = 5 AND MD = 2 THEN POP : GOTO 1140
370 IF L1 = 5 THEN L = L +1:P = 0:M = 1: RETURN
380 RETURN
390 REM SORT
400 TEXT : HOME : IF L <20 THEN PRINT "NO INFORMATION IN MEMORY": GOSUB 1080: GOTO 30
410 D = 0
420 TEXT : HOME : PRINT "1. NAME": PRINT "2. COMPANY": PRINT "3. ADDRESS": PRINT "4. CITY": PRINT "5. STATE": PRINT "6. ZIP": PRINT : PRINT "YOU MAY SORT ON ANY ONE FIELD.": PRINT : INPUT "ENTER FIELD NUMBER ";A$:A = ABS( INT( VAL(A$))): IF A <1 OR A >6 THEN 400
430 S = A: HOME : VTAB 5: PRINT "SORT IN PROGRESS...": VTAB 10: PRINT "SORTING RECORD #": PRINT "COMPARING RECORD #": FOR A = 1 TO L -1: VTAB 10: HTAB 19: PRINT A;: IF LEFT$(I$(A,1),1) = CHR$(92) THEN D = 1: GOTO 470
440 IF D = 1 THEN 470
450 FOR B = A +1 TO L: IF I$(A,S) <I$(B,S) THEN 470
460 FOR C = 1 TO 6:S$(C) = I$(A,C):I$(A,C) = I$(B,C):I$(B,C) = S$(C): NEXT
470 VTAB 11: HTAB 20: PRINT B -A;" ";: NEXT :D = 0: NEXT
480 M = 1: GOTO 30
490 REM MODIFY NAMES
500 IF L = 0 THEN TEXT : HOME : PRINT "NO INFORMATION IN MEMORY": GOSUB 1080: GOTO 30
510 TEXT : HOME :R = 0: VTAB 10: PRINT "REFERENCE NUMBER OF ITEM": INPUT "TO BE MODIFIED ?";A$: IF A$ = "" THEN 500
520 IF A$ = "//STOP" THEN MD = 0: GOTO 30
530 A = VAL(A$): IF A <1 OR A < > INT( ABS(A)) THEN 500
540 PRINT A,A$
550 IF A >L THEN PRINT : PRINT "ONLY ";L;" ITEMS IN FILE": GOSUB 1080: GOTO 500
560 D = A
570 HOME : PRINT D: FOR A = 1 TO 6: PRINT I$(D,A): NEXT : PRINT : PRINT : INPUT "IS THIS THE CORRECT INFORMATION ?";A$:A$ = LEFT$(A$,1): IF A$ < >"Y" AND A$ < >"N" THEN 570
580 IF A$ = "N" THEN 500
590 MD = 1: GOTO 270
600 P1 = 1 + POS(0):R = R +1: PRINT I$(D,R);: HTAB P1: INPUT "";A$: IF A$ = "" THEN 630
610 IF LEN(A$) >L1 THEN A$ = LEFT$(A$,L1)
620 I$(D,R) = A$
630 RETURN
640 M = 1: GOTO 500
650 REM DELETE NAMES
660 TEXT : HOME : VTAB 10: IF L = 0 THEN PRINT "NO INFORMATION IN MEMORY": GOSUB 1080: GOTO 30
670 PRINT "REFERENCE NUMBER OF ITEM": INPUT "TO BE DELETED ?";A$:A = INT( ABS( VAL(A$))): IF A$ = "//STOP" THEN 30
680 IF A <1 OR A >L THEN PRINT : PRINT "MUST BE NUMBER BETWEEN 1 AND"L: GOSUB 1080: GOTO 660
690 HOME :D = A: FOR A = 1 TO 6: PRINT I$(D,A): NEXT : PRINT : INPUT "IS THE CORRECT INFORMATION ?";A$:A$ = LEFT$(A$,1): IF A$ < >"Y" AND A$ < >"N" THEN A = D: GOTO 690
700 IF A$ = "N" THEN 660
710 HOME : VTAB 10: PRINT "DELETING INFORMATION...": FOR A = D TO L -1: FOR B = 1 TO 6:I$(A,B) = I$(A +1,B): NEXT : NEXT : PRINT "INFORMATION DELETED":L = L -1: GOSUB 1080:M = 1: GOTO 30
720 REM PRINT LABELS
730 TEXT : HOME : VTAB 10: IF L = 0 THEN PRINT "NO INFORMATION IN MEMORY": GOSUB 1080: GOTO 30
750 PRINT "ADJUST LABEL, HIT RETURN FOR ANOTHER": PRINT "TEST LABEL, ANY OTHER KEY TO BEGIN": GOSUB 1080: IF A$ = CHR$(13) THEN 740
760 HOME : VTAB 10: INPUT "HOW MANY SETS OF LABELS ?";A$:A = ABS( INT( VAL(A$))): IF A <1 OR A >10000 THEN PRINT "LET'S BE REASONABLE": GOSUB 1080: GOTO 760
770 HOME : PRINT "ESCAPE KEY WILL HALT PRINTING AT ANY": PRINT "TIME, ANY OTHER KEY WILL RESUME PRINTING": POKE 34,5: VTAB 6:NL = A: PRINT D$"PR#1": FOR A = 1 TO NL: FOR B = 1 TO L
780 P$ = I$(B,1): GOSUB 830: IF P = 1 THEN PRINT P$
790 P$ = I$(B,2): GOSUB 830: IF P = 1 THEN PRINT P$
800 P$ = I$(B,3): GOSUB 830: IF P = 1 THEN PRINT P$
1040 PRINT O$F$: PRINT W$F$: PRINT L: PRINT 0: FOR A = 1 TO L: FOR B = 1 TO 6: PRINT I$(A,B): NEXT : NEXT
1050 PRINT "<CTRL-D>CLOSE"
1060 END
1070 PRINT "ERROR<CTRL-G><CTRL-G><CTRL-G>"
1080 PRINT : PRINT "HIT ANY KEY TO CONTINUE ";: GET B$: PRINT : RETURN
1090 REM INSERT NAMES
1100 TEXT : HOME : VTAB 10: IF L = 0 THEN PRINT "NO INFORMATION IN MEMORY": GOSUB 1080: GOTO 30
1110 PRINT "INSERT ";: INVERSE : PRINT "BEFORE";: NORMAL : INPUT " NUMBER ?";A$:A = INT( ABS( VAL(A$))): IF A <1 OR A >L THEN PRINT "MUST BE NUMBER BETWEEN 1 AND "L: GOSUB 1080: GOTO 1100
1120 IN = A: FOR A = 1 TO 6: PRINT I$(IN,A): NEXT : PRINT : INPUT "IS THIS THE CORRECT INFORMATION ?";A$:A$ = LEFT$(A$,1): IF A$ < >"Y" AND A$ < >"N" THEN A = IN: GOTO 1120
1130 FOR A = L TO IN STEP -1: FOR B = 1 TO 6:I$(A +1,B) = I$(A,B): NEXT : NEXT :L2 = L +1:L = IN -1:MD = 2: GOTO 270